﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Chilis.Marketing.Data.Access;
using Chilis.Marketing.Business.Entity;
using System.Data;

namespace Chilis.Marketing.Business.Logic
{
    public class BLRecursoRol
    {
        #region ATRIBUTOS

        private DARecursoRol recursoRolDA;

        #endregion

        #region CONSTRUCTOR

        public BLRecursoRol()
        {
            this.recursoRolDA = new DARecursoRol();
        }

        #endregion

        #region PROPIEDADES
        #endregion

        #region METODOS



        /// <summary>
        /// Método              : insertarRecursoRol
        /// Descripción         : Inserta el Recurso Rol en la BD
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="recursoRolBE">Entidad que representa el Recurso Rol</param>
        /// <param name="actividadBE">Entidad que representa la Actividad</param>
        /// <returns>Retorna el Id del Material insertado</returns>
        public bool insertarRecursoRol(BERecursoRol recursoRolBE,
                                       BEActividad actividadBE)
        {
            bool respuesta = false;
            try
            {
                int? IdRecurso = recursoRolDA.insertarRecursoRol(recursoRolBE, actividadBE, true);
                if (IdRecurso.HasValue && IdRecurso.Value > 0)
                {
                    respuesta = true;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
            return respuesta;
        }

        /// <summary>
        /// Método              : modificarRecursoRol
        /// Descripción         : Modifica el Recurso Rol en la BD
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="recursoRolBE">Entidad que representa el Recurso Rol</param>
        /// <param name="actividadBE">Entidad que representa la Actividad</param>
        /// <returns>Retorna un booleano que indica si se actualizo el registro</returns>
        public bool modificarRecursoRol(BERecursoRol recursoRolBE,
                                        BEActividad actividadBE)
        {
            bool respuesta = true;
            try
            {
                respuesta = recursoRolDA.modificarRecursoRol(recursoRolBE, actividadBE, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
            return respuesta;
        }

        /// <summary>
        /// Método              : eliminarRecursoRol
        /// Descripción         : Elimina el Recurso Rol en la BD
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="rolBE">Entidad que representa el Rol</param>
        /// <returns>Retorna un booleano que indica si se actualizo el registro</returns>
        public bool eliminarRecursoRol(BERecursoRol recursoRolBE)
        {
            bool respuesta = true;
            try
            {
                respuesta = recursoRolDA.eliminarRecursoRol(recursoRolBE, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
            return respuesta;
        }


        /// <summary>
        /// Método              : obtenerRecursoRolPorId
        /// Descripción         : Obtiene la Entidad Recurso Rol
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="idRol">Id Rol</param>
        /// <returns>Retorna el Objeto que representa la Entidad Recurso Rol</returns>
        public BERecursoRol obtenerRecursoRolPorId(int idRol)
        {
            return recursoRolDA.obtenerRecursoRolPorId(idRol);
        }

        /// <summary>
        /// Método              : insertarTrabajadorParaRecursoRol
        /// Descripción         : Inserta el Recurso Rol en la BD
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="recursoRolBE">Entidad que representa el Recurso Rol</param>
        /// <returns>Retorna el Id del Material insertado</returns>
        public bool insertarTrabajadorParaRecursoRol(BERecursoRol recursoRolBE)
        {
            bool respuesta = false;
            try
            {
                int? IdRecurso = recursoRolDA.insertarTrabajadorParaRecursoRol(recursoRolBE, true);
                if (IdRecurso.HasValue && IdRecurso.Value > 0)
                {
                    respuesta = true;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
            return respuesta;
        }

        /// <summary>
        /// Método              : modificarTrabajadorParaRecursoRol
        /// Descripción         : Modifica el Recurso Rol en la BD
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="recursoRolBE">Entidad que representa el Recurso Rol</param>
        /// <returns>Retorna un booleano que indica si se actualizo el registro</returns>
        public bool modificarTrabajadorParaRecursoRol(BERecursoRol recursoRolBE)
        {
            bool respuesta = true;
            try
            {
                respuesta = recursoRolDA.modificarTrabajadorParaRecursoRol(recursoRolBE, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
            return respuesta;
        }

        /// <summary>
        /// Método              : eliminarTrabajadorParaRecursoRol
        /// Descripción         : Elimina el Recurso Rol en la BD
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="recursoRolBE">Entidad que representa el Recurso Rol</param>
        /// <returns>Retorna un booleano que indica si se actualizo el registro</returns>
        public bool eliminarTrabajadorParaRecursoRol(BERecursoRol recursoRolBE)
        {
            bool respuesta = true;
            try
            {
                respuesta = recursoRolDA.eliminarTrabajadorParaRecursoRol(recursoRolBE, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
            return respuesta;
        }

        /// <summary>
        /// Función             : obtenerTrabajadoresPorIdRolActividad
        /// Descripción         : Busca los Recursos de acuerdo a los filtros configurados
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="filtro">Entidad que representa la Actividad</param>
        /// <returns>Listado de Roles de acuerdo al filtro especificado</returns>
        public DataTable obtenerTrabajadoresPorIdRolActividad(int idRolActividad)
        {
            return recursoRolDA.obtenerTrabajadoresPorIdRolActividad(idRolActividad);
        }

        /// <summary>
        /// Método              : modificarSueldoTrabajadorParaRecursoRol
        /// Descripción         : Modifica el Recurso Rol en la BD
        /// Fecha Creacion      : 26/03/2012
        /// Creador             : TP2
        /// Ultimo en modificar : TP2
        /// Ultima modificacion : 26/03/2012
        /// </summary>
        /// <param name="recursoRolBE">Entidad que representa el Recurso Rol</param>
        /// <returns>Retorna un booleano que indica si se actualizo el registro</returns>
        public bool modificarSueldoTrabajadorParaRecursoRol(BERecursoRol recursoRolBE)
        {
            bool respuesta = true;
            try
            {
                respuesta = recursoRolDA.modificarSueldoTrabajadorParaRecursoRol(recursoRolBE, true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
            return respuesta;
        }

        #endregion
    }
}
